﻿Option Explicit On
Option Strict On

'Documentación XML
''' <summary>
''' Este módulo se encargará de comprobar la validéz de los datos.
''' </summary>
''' <author> Jerón Fernández Caballero Rico</author>
''' <author> Daniel Morato Baudi</author>

Module ManejoErrores

    'Métodos
    'Método para comprobar que nuestra cadena no contiene numeros o caracteres invalidos.
    ''' <param name="Cadena">(String) Cadena que comprobaremos.</param>
    ''' <returns>(String) Devuelve la cadena introducida si todo ha ido bien, 
    ''' o un mensaje de error en caso contrario.</returns>
    Public Function ComprobarCadena(ByVal Cadena As String) As String

        Try
            If Not Cadena.IndexOfAny(New Char() {
                                       "@"c, "."c, ","c, "!"c, "#"c, "_"c,
                                       "*"c, "-"c, "+"c, "/"c, "\"c, "º"c,
                                       "0"c, "1"c, "2"c, "3"c, "4"c, "5"c,
                                       "6"c, "7"c, "8"c, "9"c}) > 0 Then
                Return Cadena
            End If

        Catch ex As Exception

            MsgBox("La cadena introducida contiene caracteres no válidos")

        End Try
        Return MsgBox("La cadena introducida contiene caracteres no válidos").ToString()

    End Function

    ''' <param name="Email">(String) E-mail que comprobaremos.</param>
    ''' <returns>(String) Devuelve el email introducido si todo ha ido bien, 
    ''' o un mensaje de error en caso contrario.</returns>
    Public Function ComprobarEmail(ByVal Email As String) As String

        Dim Comprobacion As Boolean
        Comprobacion = Email Like "*@*.???"

        Try

            If Comprobacion Then
                Return Email
            End If

        Catch ex As Exception

            MsgBox("Error: El e-mail introducido no es válido")

        End Try
        Return MsgBox("Error: El e-mail introducido no es válido").ToString()

    End Function

    ''' <param name="Direccion">(String) Dirección que comprobaremos.</param>
    ''' <returns>(String) Devuelve la dirección introducida si todo ha ido bien, 
    ''' o un mensaje de error en caso contrario.</returns>
    Public Function ComprobarDireccion(ByVal Direccion As String) As String

        Try

            If Not Direccion.IndexOfAny(New Char() {"@"c, "."c, ","c, "!"c, "#"c,
                                                    "_"c, "*"c, "-"c, "+"c, "/"c,
                                                    "\"c, "º"c}) > 0 Then
                Return Direccion

            End If

        Catch ex As Exception

            MsgBox("Error: La dirección introducido no es válida")

        End Try
        Return MsgBox("Error: La dirección introducido no es válida").ToString()

    End Function

End Module